As it is generally known, instant messaging (IM) systems have become increasingly popular for both business and personal use. Existing instant messaging systems provide real-time communication between two or more people by conveying text and/or other content between client devices connected over a network such as the Internet. Typical existing instant messaging systems operate using an instant messaging client program or the like that connects to an instant messaging service provided through one or more remote server systems. Instant messaging is sometimes referred to as “chatting” on-line, and an instant messaging session is sometime referred to as a “chat” session. Examples of existing instant messaging systems include AOL Instant Messenger, Microsoft Network (MSN) Messenger, and Yahoo! Messenger, as well as IBM Lotus Sametime®, Microsoft Office® Live Communications Server, and Jabber XCP.
Users may engage in instant messaging sessions many times a day, and are able to communicate quickly while performing multiple tasks at the same time. It is therefore very important that instant messaging clients enable users to accurately type their messages in a timely manner and with few mistakes. Aside from connectivity issues, one of the most significant problems users have when engaging in instant messaging sessions is mistakes in the actual text content. While tools exist such as “spell checkers”, acronym expanders, and dictionary/thesaurus links integrated into the message window to help the user with content before it is entered into the session, existing systems provide little help in solving text problems once an instant message has been sent by the user. The resulting mistakes commonly include spelling problems, but a potentially more harmful type of mistake relates to grammar errors or word omissions in sentences, which may result in an entirely different meaning being conveyed than was intended by the message author. While spelling mistakes are often trivial and expected since messages are typed quickly in this type of communication, the more significant types of errors can be very destructive. For example, when words such as “not” or “if”, or “when” are omitted, and similarly when any specific important, attitude-conveying word or proposition is left out, the session participants can be significantly misled, or might be forced to continue the conversation for much longer than necessary to resolve a simple misunderstanding, or with little time available, may even leave the session with an inaccurate understanding of what was discussed. Even worse situations may arise when participants accidentally aggravate each other because of an improperly worded sentence in a high-pressure situation. Since session transcripts are frequently copied and sent around in electronic mail messages as proof of a discussion, this may cause further confusion and unnecessary aggravation.
Conventional instant messaging system clients store session history, and allow users to review the history during the session. Conventional systems also include features that allow instant messaging clients (e.g. of the same type or brand) to interact in a dialog in addition to the text messages. For example, some existing instant messaging clients can interact to initially ask permission to start an encrypted session, or notify each other of user events outside of text typing (e.g. check spelling, window closing, status notification, etc). However, the only solution provided in existing systems correct a mistaken message that has previously been entered into the session is to simply enter more messages during the session to try to correct the previous mistake. This is cumbersome because it a) interferes with the current conversation thread, b) pollutes the overall session transcript, and c) detracts from the overall effectiveness of the collaboration.
For these reasons it would be desirable to have a tool enabling instant messaging session participants to transparently edit message text after it is sent and is part of a session history. The changes must be made with the knowledge and permission of all session participants, so that it is impossible to change session history without letting the other participants know. The new system should further allow transcript modification to work reliably in an n-way instant messaging session, address problems related to participants leaving or joining the session while the transcript is being changed, where the transcript is stored, and securing changes to the transcript to make sure that it cannot be accidentally or maliciously falsified.